<?php

class usuarioController extends Controller
{
    public function __construct() {
        parent::__construct();
    }
    
    public function index(){
        $usuarios = $this->loadModel('usuarios');
        $usuarios->open();
        
        $this->_view->assign('datos',$usuarios->getUsuarios());
        $this->_view->renderizar('index','usuario');
    }
    
    public function login(){
        if(isset($_POST['guardar'])){
            $usuario = $this->loadModel('usuarios');
            $tipo = $this->loadModel('Tipos');
            $usuario->open();
            $tipo->open();
            $usuario = $usuario->getUsuario($_POST['usuario'],$_POST['pass']);
            
            if($usuario != false){
                Session::set('access', true);
                Session::set('level', $usuario['tipo']);
                Session::set('datos', $usuario);
                Session::set('user', $usuario['usuario']);
                Session::set('time', time());
                $this->redireccionar('calidad/index');
            }
            $this->_view->assign('usuario',$_POST['usuario']);
        }
        $this->_view->renderizar('login','login');
    }
    
    public function nuevo(){
        $tipo = $this->loadModel('tipos');
        $tipo->open();
        $tipo->_gets();
        $tipos = $tipo->_data;
        
        foreach($tipos as $tipo){
            $option_id[] = $tipo['id'];
            $option_descrip[] = $tipo['tipo'];
        }
        
        $this->_view->assign('option_id',$option_id);
        $this->_view->assign('option_descrip',$option_descrip);
        
        if(isset($_POST['guardar'])){
            unset($_POST['guardar']);
            
            $usuario = $this->loadModel('usuarios');
            $usuario->open();
            
            if($usuario->insert($_POST)){
                $this->redireccionar('calidad/usuario');
            }
            $this->_view->assign('datos',$_POST);
        }
        $this->_view->renderizar('usuario','usuario');
    }
    
    public function editar($id){
        $tipo = $this->loadModel('tipos');
        $tipo->open();
        $tipo->_gets();
        $tipos = $tipo->_data;
        
        foreach($tipos as $tipo){
            $option_id[] = $tipo['id'];
            $option_descrip[] = $tipo['tipo'];
        }
        
        $usuario = $this->loadModel('usuarios');
        $usuario->open();
        
        $usuario->get('usuario', "'" . $id . "'");
        $this->_view->assign('datos',$usuario->_data);
        $this->_view->assign('option_id',$option_id);
        $this->_view->assign('option_descrip',$option_descrip);
        
        if(isset($_POST['guardar'])){
            unset($_POST['guardar']);
            
            if($usuario->update($_POST, "usuario = '$id'")){
                $this->redireccionar('calidad/usuario');
            }
            $this->_view->assign('datos',$_POST);
        }
        $this->_view->renderizar('usuario','usuario');
        
    }
    
    public function eliminar($id){
        $usuario = $this->loadModel('usuarios');
        $usuario->open();
        if(!$usuario->delete('usuario',"'" . $id . "'")){
            $this->_view->assign('_error',"El usuario no se pudo eliminar...");
        }
        $this->redireccionar('calidad/usuario');
        
    }
    
    public function logout(){
        Session::destroy();
        $this->redireccionar('calidad/index');
    }
}

?>
